import java.io.File;
import java.util.Objects;

/**
 * 删除目录中的 [.idea][target][*.iml]
 */
public class DeleteUseless {

    private static final String ROOT_PATH = "E:\\code";

    public static void main(String[] args) {
        File root = new File(ROOT_PATH);
        clear(root);
    }

    private static void clear(File dir) {
        if (Objects.isNull(dir.listFiles())) {
            return;
        }
        for (File file : dir.listFiles()) {
            if (file.isFile()) {
                if (getExtension(file).equals("iml")) {
                    System.out.println(file.getPath() + file.getName());
                    file.delete();
                }
            } else if (file.isDirectory()) {
                if (file.getName().equals(".git")
                        || file.getName().equals(".idea")
                        || file.getName().equals("target")) {
                    System.out.println(file.getPath());
                    rmDir(file);
                } else {
                    clear(file);
                }
            }
        }
    }

    private static void rmDir(File dir) {
        for (File f : dir.listFiles()) {
            if (f.isFile()) {
                f.delete();
            } else if (f.isDirectory()) {
                rmDir(f);
            }
        }
        dir.delete();
    }

    private static String getExtension(File file) {
        String name = file.getName();
        int start = name.lastIndexOf('.');
        if (start < 0) {
            return "";
        }
        return name.substring(start + 1, name.length());
    }

}
